﻿using DataModels.Entities.ParkingLot;
using DataModels.Enums.ParkingLot;
using static DataModels.Enums.GeneralEnum;

namespace DataModels.Dto.ParkingLot
{
    public class GetParkingSpaceInfoDto
    {
        public Guid ParkingSpaceId { get; set; }

        /// <summary>
        /// 四格停车场Id
        /// </summary>
        public int ParkingId { get; set; }

        public string ProjectName { get; set; }
        public string SpaceNumber { get; set; }

        public string Area { get; set; }

        public AreaType AreaType { get; set; }

        public ParkingSpaceUserRelationType Type { get; set; }

        public DateTime? EndDate { get; set; }

        public string Remark { get; set; }
    }

    public class GetParkingSpaceInfoResponse : GetParkingSpaceInfoDto
    {
        public new string AreaType { get; set; }

        public new string Type { get; set; }
    }

    public class EditParkingSpaceInfo
    {

        public Guid ParkingSpaceId { get; set; }

        public string Remark { get; set; }
    }
    public class GetParkingSpacePaymentInfoDto
    {
        public ParkingSpace ps{get;set;}
    }
    public class GetParkingSpacePaymentInfoResponse
    {
        public Guid ParkingSpaceId { get; set; }
        public DateTime? EndDate { get; set; } 
        public string ParkingSpaceFullAddress { get; set; }
        // 月费
        public decimal MonthlyFee { get; set; }

        // 优惠券
        public List<ParkingSpacePaymentCoupon> Coupons { get; set; }
    }

    public class ParkingSpacePaymentCoupon
    {
        public string CouponId { get; set; }
        public double Money { get; set; }
    }

    public class ParkingSpacePayment
    {
        public Guid ProjectId { get; set; }
        public Guid ParkingSpaceId { get; set; }

        // 缴费月数
        public int Month { get; set; }

        // 优惠ID
        public string CouponId { get; set; }

        // 支付方式
        public PayWay PayWay { get; set; }

        // 支付流水号
        public string PaySerialId { get; set; }

        // 付款备注
        public string PayDesc { get; set; }
    }
}
